﻿using A.M.ETO;
using A.M.Storage.I_Application;
using Q.M.Finance.Domain.Entity;
using Q.M.Sell.Doamin.DTO;
using Q.M.Sell.Doamin.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Q.M.Sell.Application.IServices
{
    public interface ISalesServices : IBaseServices<sales, string>
    {
        /// <summary>
        /// 添加销售订单
        /// </summary>
        /// <param name="salesAddDTO"></param>
        /// <returns></returns>
        Task<ApiReturn<string>> GetsalesAddInfo(salesAddDTO salesAddDTO);
        /// <summary>
        /// 删除销售订单
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        Task<ApiReturn<string>> Deletesales(string? salesid);
        /// <summary>
        /// 修改销售订单
        /// </summary>
        /// <param name="salesAddDTO"></param>
        /// <returns></returns>
        Task<ApiReturn<string>> GetsalesUpdateInfo(salesUpdateDTO salesUpdateDTO);
        /// <summary>
        /// 反填销售订单
        /// </summary>
        /// <param name="salesid"></param>
        /// <returns></returns>
        Task<sales> FindsalesInfo(string? salesid);
        /// <summary>
        /// 销售订单显示+分页+查询
        /// </summary>
        /// <param name="minMoney"></param>
        /// <param name="maxMoney"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        PageETO<salesShowDTO> GetsalesInfo(string? salesid, string? stock_removal, int pageIndex, int pageSize);
        /// <summary>
        /// 根据销售单号反填付款方信息
        /// </summary>
        /// <param name="salesid"></param>
        /// <returns></returns>
        client_payer_information GetInfo(string salesid);

        Task<ApiReturn<string>> GetAddXsInfor(string? id);
    }
}
